package Model.alignments;

import java.awt.Graphics;

import Model.Subset;

/**
 * @author stephenbwilliamson
 * 
 *         Instead of trying to add methods to test which different alignments
 *         exist, I've created an interface so that I can create multiple types
 *         of Alignments and use polymorphism to draw the Alignments on the
 *         screen.
 */
public interface Alignment extends Comparable<Alignment> {
	// Sets instance variables
	void setParent(Subset parent);

	void setCount(int count);

	void setStart(int start);

	// Gets the instance variables
	Subset getParent();

	int getCount();

	int getStart();

	void draw(Graphics graphic, int x, int y);

	boolean equals(Alignment alignment);

	@Override
	int compareTo(Alignment alignment);
}
